Method of calibrating robot

ABSTRACT

A method of calibrating a robot having a robot arm with a mechanically restricted moving displacement, includes obtaining a first moving displacement between a normal position of the robot arm and a contact position in which the robot arm comes into contact with the body of the robot. A second moving displacement between a current position of the robot arm and the contact position is further obtained by moving the robot arm to the contact position. The current position of the robot arm is corrected to the normal position based on a difference between the first and second moving displacements.

CROSS-REFERENCE TO RELATED APPLICATION

[0001] This application claims the benefit of Korean Application No. 2002-39696, filed Jul. 9, 2002, in the Korean Intellectual Property Office, the disclosure of which is incorporated herein by reference.

BACKGROUND OF THE INVENTION

[0002] 1. Field of the Invention

[0003] The present invention relates generally to a method of calibrating a robot, and more particularly to a method of calibrating a robot, which performs calibration by movement of a robot without requiring an additional calibration device.

[0004] 2. Description of the Related Art

[0005] Generally, if machines or tools requiring precise position control, such as robots, are disassembled and reassembled for repair or change of parts, offset of initial positions of their moving parts such as robot arms, which may be varied relative to their previous positions, may frequently occur. Therefore, if the offset occurs due to the change of parts, etc., previous calibration data must be revised by performing calibration to correct the offset.

[0006] In the prior art, if the parts of the robot are changed and the correction of the offset is required, the calibration is performed by using an exclusive calibration jig, or based on a calibration mark indicated on a body of] the robot.

[0007]FIG. 1 is a control flowchart of a conventional method of calibrating a robot using a calibration jig. As shown in FIG. 1, an original working tool attached to the body of the robot is detached therefrom at operation S10. An exclusive calibration tool is attached to the body of the robot at operation S11. If the exclusive calibration tool is attached to the body of the robot, calibration is performed using the exclusive calibration tool at operation S12.

[0008] At operation S13, calibration data are obtained using calibration results from the performance of the calibration at operation S12. Prestored previous calibration data are revised using the calibration data obtained at operation S13 so as to correct the offset at operation S14.

[0009] If the calibration data are revised, the exclusive calibration tool is detached from the body of the robot at operation S15. Thereafter, the original working tool is attached again to the body of the robot at operation S16.

[0010] As described above, the conventional method using the calibration jig is problematic in that it requires high precision of the calibration jig. Thus, a calibrating operation is very complicated and requires much time because an operation of changing the original working tool and the exclusive calibration tool must be performed twice. Further, the conventional method is troublesome in that if an actual user performs the calibration personally, the user must retain the exclusive calibration tool.

[0011] In the conventional method of performing calibration based on the calibration mark indicated on the body of the robot, calibration data are revised using the current position of the robot, after moving the mark indicated on the robot body to a position where a reference mark is indicated to enable the calibration mark and the reference mark to coincide with each other.

[0012] Using the reference mark does not have the inconvenience of attaching and detaching tools to/from the body of the robot. However, the conventional method using the reference mark is problematic in that precision of the calibration is relatively low.

SUMMARY OF THE INVENTION

[0013] Accordingly, it is an aspect of the present invention to provide a method of calibrating a robot, which corrects offset of moving parts of the robot by obtaining calibration information through contact with a robot body.

[0014] Additional aspects and advantages of the invention will be set forth in part in the description which follows and, in part, will be obvious from the description, or may be learned by practice of the invention.

[0015] The foregoing and other aspects of the present invention are achieved by providing a method of calibrating a robot. The robot has a robot arm joined to a robot shaft to a restrict moving displacement of the robot arm. The method includes setting a reference position within the moving displacement, calculating a difference between an actual displacement when the robot arm reaches the reference position and a preset normal displacement, and correcting a position of the robot arm based on the calculated difference.

BRIEF DESCRIPTION OF THE DRAWINGS

[0016] The above and other aspects and advantages of the present invention will become apparent and more appreciated from the following detailed description of the preferred embodiment, taken in conjunction with the accompanying drawings of which:

[0017]FIG. 1 is a control flowchart of a conventional method of calibrating a robot using a calibration jig;

[0018]FIG. 2 is a view showing an operation of a robot, according to an embodiment of the present invention;

[0019]FIG. 3 is a control block diagram showing a calibration of a robot of the present invention; and

[0020]FIG. 4 is a control flowchart of a method of calibrating the robot, according to the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

[0021] Reference will now be made in detail to the present preferred embodiment of the present invention, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to like elements throughout.

[0022]FIG. 2 is a view showing an operation of a robot, according to an embodiment of the present invention. As shown in FIG. 2, a first shaft 11 is rotatably connected to an upper portion of a base 10, and a second shaft 12 rotating at a predetermined angle is connected to the upper portion of the first shaft 11. A robot arm (working tool) 13 is joined to one end of the second shaft 12 to be rotatable at a predetermined angle.

[0023] Stopper projections (not shown) are formed on the robot arm 13 and the second shaft 12 to prevent the robot arm 13 from moving beyond a certain position. The robot arm 13 comes into contact with the shaft of the robot when the robot arm 13 is rotated at an angle greater than the predetermined angle. The robot arm 13 is rotated by driving a motor (not shown) of the robot.

[0024]FIG. 3 is a control block diagram showing a calibration of the robot of the present invention. As shown in FIG. 3, an apparatus for calibrating a robot of the present invention includes a key input unit 150, a motor driving unit 110, an encoder 130, a storage unit 140 and a control unit 100. The key input unit 150 is used to input commands from a user. The motor driving unit 110 operates a motor 120, which rotates either in a forward or a reverse direction to move the robot arm 13 to a desired position. The encoder 130 is connected to the motor 120 to obtain a moving displacement of the robot arm 13 according to the rotation of the motor 120. The storage unit 140 stores various pieces of information. The control unit 100 controls the storage unit 140 to store the moving displacement fed back through the encoder 130 therein, and controls an entire calibrating operation according to the various pieces of information stored in the storage unit 140.

[0025]FIG. 4 is a control flowchart of a method of calibrating the robot, according to the present invention. As shown in FIG. 4, the control unit 100 performs an initial calibration using a self-calibration program of the robot arm 13, which is stored in the storage unit 140 at operation S100.

[0026] The control unit 100 stores correction data obtained by the performance of the initial calibration in the storage unit 140 at operation S101. The control unit 100 operates the motor 120 through the motor driving unit 110 to allow the robot arm 13 to move to a contact position at operation S102. At this time, the control unit 100 inputs the moving displacement of the robot arm 13, which is fed back through the encoder 130.

[0027] The control unit 100 determines whether the robot arm 13 has reached the contact position where the robot arm 13 does not rotate any longer and comes into contact with the body of the robot based on the moving displacement of the robot arm 13 obtained through the encoder 130 at operation S103. If the robot arm 13 has reached the contact position, the robot arm 13 cannot rotate any longer, so an amount of load of the motor 120 is temporarily increased, thus varying a rotating speed of the motor 120. Accordingly, an output signal of the encoder 130 is varied, and the control unit 100 determines that the robot arm 13 has reached the contact position based on the varied output signal of the encoder 130.

[0028] If it is determined that the robot arm 13 has reached the contact position at operation S103, the control unit 100 stops the movement of the robot arm 13 by stopping the motor 120 through the motor driving unit 110 at operation Si04. The control unit 100 stores the moving displacement of the robot arm 13 obtained through the encoder 130 in the storage unit 140 as a first moving displacement at operation S105.

[0029] Meanwhile, a corresponding command to perform a desired task is inputted from the user via the key input unit 150 at operation S106. This is done after initial position data of the robot arm 13 obtained when the initial calibration is performed, and the moving displacement of the robot arm 13 obtained when the robot arm 13 has reached the contact position, are stored in the storage unit 140.

[0030] If the command has been inputted, the control unit 100 drives the motor 120 with the motor driving unit 110 to move the robot arm to a corresponding working position at operation S107. When the robot arm 13 moves to the corresponding working position, the control unit 100 performs the corresponding task using the robot arm 13 at operation S108. In this case, the control unit 100 calculates a first moving displacement obtained when the robot arm 13 has reached the contact position at the corresponding working position based on the moving displacement obtained at operation S105, and stores the first moving displacement in the storage unit 140 at operation S109.

[0031] While working, the robot arm 13 is sometimes detached from the body of the robot and re-joined to the body due to repair or change of the robot arm 13. Thus, it is required to perform the calibration of the robot arm 13 again. The control unit 100 determines whether a command to re-calibrate the robot arm 13 has been inputted from the user through the key input unit 150, so as to check whether re-calibration is required at operation S110. If it is determined that a command to re-calibrate has been inputted at operation S110, the control unit 100 determines that the re-calibration is required, and drives the motor 120 through the motor driving unit 110 to move the robot arm 13 to the contact position at operation S111. At this time, the control unit 100 inputs the moving displacement of the robot arm 13, which is fed back through the encoder 130.

[0032] The control unit 100 determines whether the robot arm 13 has reached the contact position based on the output signal of the encoder 130 at operation S112. If the robot arm 13 has reached the contact position at operation S112, the control unit 100 stops the movement of the robot arm 13 by stopping the motor 120 through the motor driving unit 110 at operation S113.

[0033] Then, the control unit 100 stores a second moving displacement obtained when the robot arm 13 has reached the contact position at operation S114. The control unit 100 obtains the second moving displacement of the robot arm 13 through the encoder 130.

[0034] When the second moving displacement of the robot arm 13 is stored, the control unit 100 calculates a difference between the first moving displacement of the robot arm 13 obtained at operation S105 and the second moving displacement at operation S115. When the difference is calculated, the control unit 100 corrects a current position of the robot arm 13 based on the calculated difference at operation S116.

[0035] As described above, the present invention provides a method of calibrating a robot, which promptly obtains precise calibration data using calibration position data obtained by moving a robot arm based on a reference position of a moving displacement of the robot arm, without requiring an additional calibration device.

[0036] Although a preferred embodiment of the present invention has been shown and described, it would be appreciated by those skilled in the art that changes may be made in this embodiment without departing from the principles and spirit of the invention, the scope of which is defined in the claims and their equivalents. 

What is claimed is:
 1. A method of calibrating a robot, the robot having a robot arm joined to a robot shaft to a restrict moving displacement of the robot arm, the method comprising: setting a reference position within the moving displacement; calculating a difference between an actual displacement when the robot arm reaches the reference position, and a preset normal displacement; and correcting a position of the robot arm based on the calculated difference.
 2. The robot calibration method according to claim 1, wherein the reference position is a position in which the robot arm comes into contact with the robot shaft.
 3. The robot calibration method according to claim 1, wherein the actual displacement is a position between a current position of the robot arm and the reference position.
 4. The robot calibration method according to claim 1, wherein the preset normal displacement is a position between a normal position of the robot arm and the reference position.
 5. A method of calibrating a robot, the robot having a robot arm joined to a robot shaft to restrict a moving displacement of the robot arm, the method comprising: obtaining a first moving displacement between a normal position of the robot arm and a contact position where the robot arm comes into contact with the robot shaft; obtaining a second moving displacement between a current position of the robot arm and the contact position by moving the robot arm to the contact position; and correcting the current position of the robot arm to the normal position based on a difference between the first and second moving displacements.
 6. An apparatus to calibrate a robot, comprising: an input unit to input commands from a user; a motor driving unit to operate a motor, which rotates in a forward and reverse direction to move a robot arm of the robot to a desired position; an encoder connected to the motor to obtain data on a moving displacement of the robot arm according to the rotation of the motor; a storage unit to store the data output from the encoder; and a control unit to control a calibrating operation of the robot based on the data stored in the storage unit. 